﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Configuration;
using System.Data.SqlClient;
using System.Web.UI.WebControls;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// Para permitir que se llame a este servicio web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente. 
// [System.Web.Script.Services.ScriptService]

public class Service : System.Web.Services.WebService
{
    public Service () {

        //Elimine la marca de comentario de la línea siguiente si utiliza los componentes diseñados 
        //InitializeComponent(); 
    }
    static private string strConn = ConfigurationManager.ConnectionStrings["Connt"].ConnectionString;
    private SqlConnection objConn = new SqlConnection(strConn);

    [WebMethod]
    public void ObtenerD(ref String mnj, string cSQL, ref System.Data.DataSet dst)
    {
        try
        {
            SqlDataAdapter da = new SqlDataAdapter(cSQL, objConn);
            da.Fill(dst);
        }
        catch (Exception ex)
        {
            mnj = ex.Message;
        }
    }

     [WebMethod]
    public Boolean actualizaD(String cSQL, ref String mj)
    {
        try
        {
            SqlCommand cmd = new SqlCommand(cSQL, objConn);
            if (objConn.State == System.Data.ConnectionState.Closed) objConn.Open();
            cmd.ExecuteNonQuery();
            if (objConn.State == System.Data.ConnectionState.Open) objConn.Close();
            return true;
        }
        catch (Exception ex)
        {
            mj = ex.Message;
            return false;
        }
    }

     [WebMethod]
     public void validaUser(string IdUser,string pass, ref System.Data.DataSet dst)
     {
        
        SqlCommand cmd = new SqlCommand();
        SqlParameter Usuario = new SqlParameter();
        SqlParameter Contraseña = new SqlParameter();
        cmd = new SqlCommand("ValidarUsuario", objConn);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        Usuario = cmd.Parameters.Add("@IdUser", System.Data.SqlDbType.VarChar);
        Contraseña = cmd.Parameters.Add("@Clave", System.Data.SqlDbType.NChar);
        Usuario.Value = IdUser;
        Contraseña.Value = pass;
        Usuario.Direction = System.Data.ParameterDirection.Input;
        Contraseña.Direction = System.Data.ParameterDirection.Input;
                 
        SqlDataAdapter dAp = new SqlDataAdapter(cmd);
        dAp.Fill(dst);
     }

    [WebMethod]
    public void Cliente(string idusuario, string nombre, string apellido, string direccion, string telefono, string clave, string email, ref System.Data.DataSet dst)
    {
        SqlCommand cmd = new SqlCommand();
        SqlParameter Id = new SqlParameter();
        SqlParameter nom = new SqlParameter();
        SqlParameter apell = new SqlParameter();
        SqlParameter direc = new SqlParameter();
        SqlParameter telf = new SqlParameter();
        SqlParameter clav = new SqlParameter();
        SqlParameter eml = new SqlParameter();
        cmd = new SqlCommand("CrearCliente", objConn);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        Id = cmd.Parameters.Add("@IdUser", System.Data.SqlDbType.NChar);
        nom = cmd.Parameters.Add("@Nomb", System.Data.SqlDbType.VarChar);
        apell = cmd.Parameters.Add("@Apell",System.Data.SqlDbType.VarChar);
        direc = cmd.Parameters.Add("@Direc",System.Data.SqlDbType.VarChar);
        telf = cmd.Parameters.Add("@Telf", System.Data.SqlDbType.VarChar);
        clav = cmd.Parameters.Add("@Clave", System.Data.SqlDbType.NChar);
        eml = cmd.Parameters.Add("@Email", System.Data.SqlDbType.VarChar);
        Id.Value = idusuario;
        nom.Value = nombre;
        apell.Value = apellido;
        direc.Value = direccion;
        telf.Value = telefono;
        clav.Value = clave;
        eml.Value = email;
        Id.Direction = System.Data.ParameterDirection.Input;
        nom.Direction = System.Data.ParameterDirection.Input;
        apell.Direction = System.Data.ParameterDirection.Input;
        direc.Direction = System.Data.ParameterDirection.Input;
        telf.Direction = System.Data.ParameterDirection.Input;
        clav.Direction = System.Data.ParameterDirection.Input;
        eml.Direction = System.Data.ParameterDirection.Input;
        SqlDataAdapter adp = new SqlDataAdapter(cmd);
        adp.Fill(dst);
    }

    [WebMethod]
    public void Pelicula(string idp, string titulo, DateTime fechaCreac, string duracion, double precioCt, double alquilerP, ref System.Data.DataSet dst)
    {
        SqlCommand cmd = new SqlCommand();
        SqlParameter Idpeli = new SqlParameter();
        SqlParameter Titulo = new SqlParameter();
        SqlParameter Fecha = new SqlParameter();
        SqlParameter Duracion = new SqlParameter();
        SqlParameter PrecioCosto = new SqlParameter();
        SqlParameter AlquilerP = new SqlParameter();
        cmd = new SqlCommand("CrearPelicula", objConn);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        Idpeli = cmd.Parameters.Add("@IdPeli", System.Data.SqlDbType.NChar);
        Titulo = cmd.Parameters.Add("@Titulo", System.Data.SqlDbType.VarChar);
        Fecha = cmd.Parameters.Add("@FechaCreac", System.Data.SqlDbType.Date);
        Duracion = cmd.Parameters.Add("@Duracion", System.Data.SqlDbType.VarChar);
        PrecioCosto = cmd.Parameters.Add("@PrecCosto", System.Data.SqlDbType.Money);
        AlquilerP = cmd.Parameters.Add("@PrecAlquiler", System.Data.SqlDbType.Money);
        Idpeli.Value = idp;
        Titulo.Value = titulo;
        Fecha.Value = fechaCreac;
        Duracion.Value = duracion;
        PrecioCosto.Value = precioCt;
        AlquilerP.Value = alquilerP;
        Idpeli.Direction = System.Data.ParameterDirection.Input;
        Titulo.Direction = System.Data.ParameterDirection.Input;
        Fecha.Direction = System.Data.ParameterDirection.Input;
        Duracion.Direction = System.Data.ParameterDirection.Input;
        PrecioCosto.Direction = System.Data.ParameterDirection.Input;
        AlquilerP.Direction = System.Data.ParameterDirection.Input;
        SqlDataAdapter dAp = new SqlDataAdapter(cmd);
        dAp.Fill(dst);
     }

    [WebMethod]
    public void Categoria(string idcat, string descripcion, ref System.Data.DataSet dst)
    {
        SqlCommand cmd = new SqlCommand();
        SqlParameter Idcat = new SqlParameter();
        SqlParameter Descrip = new SqlParameter();
        cmd = new SqlCommand("CrearCategoria", objConn);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        Idcat = cmd.Parameters.Add("@IdCateg", System.Data.SqlDbType.NChar);
        Descrip = cmd.Parameters.Add("@Descrip", System.Data.SqlDbType.VarChar);
        Idcat.Value = idcat;
        Descrip.Value = descripcion;
        Idcat.Direction = System.Data.ParameterDirection.Input;
        Descrip.Direction = System.Data.ParameterDirection.Input;
        SqlDataAdapter dAp = new SqlDataAdapter(cmd);
        dAp.Fill(dst);
    }

    [WebMethod]
    public void Protagonista(string idProt, string nomb, string apell, string nacion, Boolean sexo, ref System.Data.DataSet dst)
    {
        SqlCommand cmd = new SqlCommand();
        SqlParameter IdProtag = new SqlParameter();
        SqlParameter Nomb = new SqlParameter();
        SqlParameter Apellid = new SqlParameter();
        SqlParameter Nacionalid = new SqlParameter();
        SqlParameter Sexo = new SqlParameter();
        cmd = new SqlCommand("CrearProtagonista", objConn);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        IdProtag = cmd.Parameters.Add("@IdProtag", System.Data.SqlDbType.NChar);
        Nomb = cmd.Parameters.Add("@Nomb", System.Data.SqlDbType.VarChar);
        Apellid = cmd.Parameters.Add("@Apell", System.Data.SqlDbType.VarChar);
        Nacionalid = cmd.Parameters.Add("@Nacionalidad", System.Data.SqlDbType.VarChar);
        Sexo = cmd.Parameters.Add("@sexo", System.Data.SqlDbType.Bit);
        IdProtag.Value = idProt;
        Nomb.Value = nomb;
        Apellid.Value = apell;
        Nacionalid.Value = nacion;
        Sexo.Value = sexo;
        IdProtag.Direction = System.Data.ParameterDirection.Input;
        Nomb.Direction = System.Data.ParameterDirection.Input;
        Apellid.Direction = System.Data.ParameterDirection.Input;
        Nacionalid.Direction = System.Data.ParameterDirection.Input;
        Sexo.Direction = System.Data.ParameterDirection.Input;
        SqlDataAdapter dAp = new SqlDataAdapter(cmd);
        dAp.Fill(dst);        
    }

    [WebMethod]
    public void Alquiler(string idp, DateTime fechaI, DateTime fechaE, double precioDia, double mtAlquiler, Boolean estado, string iduser, double mMulta, ref System.Data.DataSet dst)
    {
        SqlCommand cmd = new SqlCommand();
        SqlParameter IdPeli = new SqlParameter();
        SqlParameter FehaInic = new SqlParameter();
        SqlParameter FechaEnt = new SqlParameter();
        SqlParameter PrecioD = new SqlParameter();
        SqlParameter MontAlquil = new SqlParameter();
        SqlParameter Estado = new SqlParameter();
        SqlParameter IdUsuario = new SqlParameter();
        SqlParameter MntMulta = new SqlParameter();
        cmd = new SqlCommand("CrearAlquiler", objConn);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        IdPeli = cmd.Parameters.Add("@IdPeli", System.Data.SqlDbType.NChar);
        FehaInic = cmd.Parameters.Add("@FInicio", System.Data.SqlDbType.Date);
        FechaEnt = cmd.Parameters.Add("@FEntrega", System.Data.SqlDbType.DateTime);
        PrecioD = cmd.Parameters.Add("@PDiario", System.Data.SqlDbType.Money);
        MontAlquil = cmd.Parameters.Add("@MontAlquiler", System.Data.SqlDbType.Money);
        Estado = cmd.Parameters.Add("@Estado", System.Data.SqlDbType.Bit);
        IdUsuario = cmd.Parameters.Add("@IdUsuario", System.Data.SqlDbType.NChar);
        MntMulta = cmd.Parameters.Add("@MontoMulta", System.Data.SqlDbType.Money);
        IdPeli.Value = idp;
        FehaInic.Value = fechaI;
        FechaEnt.Value = fechaE;
        PrecioD.Value = precioDia;
        MontAlquil.Value = mtAlquiler;
        Estado.Value = estado;
        IdUsuario.Value = iduser;
        MntMulta.Value = mMulta;
        IdPeli.Direction = System.Data.ParameterDirection.Input;
        FehaInic.Direction = System.Data.ParameterDirection.Input;
        FechaEnt.Direction = System.Data.ParameterDirection.Input;
        PrecioD.Direction = System.Data.ParameterDirection.Input;
        MontAlquil.Direction = System.Data.ParameterDirection.Input;
        Estado.Direction = System.Data.ParameterDirection.Input;
        IdUsuario.Direction = System.Data.ParameterDirection.Input;
        MntMulta.Direction = System.Data.ParameterDirection.Input;
        SqlDataAdapter dAp = new SqlDataAdapter(cmd);
        dAp.Fill(dst);  
    }
}